Generalizing the Liveness Based Points-to Analysis
نویسندگان
چکیده
The original liveness based flow and context sensitive points-to analysis (LFCPA) is restricted to scalar pointer variables and scalar pointees on stack and static memory. In this paper, we extend it to support heap memory and pointer expressions involving structures, unions, arrays, and pointer arithmetic. The key idea behind these extensions involves constructing bounded names for locations in terms of compile time constants (names and fixed offsets), and introducing sound approximations when it is not possible to do so. We achieve this by defining a grammar for pointer expressions, suitable memory models and location naming conventions, and some key evaluations of pointer expressions that compute the named locations. These extensions preserve the spirit of the original LFCPA which is evidenced by the fact that although the lattices and the location extractor functions change, the data flow equations remain unchanged.
منابع مشابه
Parameterized Systems : Generalizing and Simplifying Automatic Verification
Rezine, A. 2008. Parameterized Systems: Generalizing and Simplifying Automatic Verification. Acta Universitatis Upsaliensis. Uppsala Dissertations from the Faculty of Science and Technology 72. 196 pp. Uppsala. ISBN 978-91-554-7138-5. In this thesis we propose general and simple methods for automatic verification of parameterized systems. These are systems consisting of an arbitrary number of i...
متن کاملLiveness-Based Pointer Analysis
Precise flowand context-sensitive pointer analysis (FCPA) is generally considered prohibitively expensive for large programs; most tools relax one or both of the requirements for scalability. We argue that precise FCPA has been over-harshly judged—the vast majority of points-to pairs calculated by existing algorithms are never used by any client analysis or transformation because they involve d...
متن کاملApproval Sheet ii
Emperical studies have shown that interprocedural heap liveness analysis can be used to significantly improve garbage collection, thereby reducing memory consumption of programs. The main difficulty in achieving this goal is the unbounded nature of the heap, which makes it notoriously difficult to statically analyze using finite abstractions. A recent technique known as heap reference analysis ...
متن کاملLazy Pointer Analysis
Flowand context-sensitive pointer analysis is generally considered too expensive for large programs; most tools relax one or both of the requirements for scalability. We formulate a flowand context-sensitive points-to analysis that is lazy in the following sense: points-to information is computed only for live pointers and its propagation is sparse (restricted to live ranges of respective point...
متن کاملEliminating Dead Code on Recursive Data
This paper describes a powerful method for dead code analysis and elimination in the presence of recursive data constructions. We describe partially dead recursive data using liveness patterns based on general regular tree grammars extended with the notion of live and dead, and we formulate the analysis as computing liveness patterns at all program points based on constraints constructed from t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1411.5289 شماره
صفحات -
تاریخ انتشار 2014